home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / demosrc / cfsource / dispansi.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-12-07  |  3.4 KB  |  105 lines

  1. PROGRAM DisplayANSI;
  2.  
  3. PROCEDURE ANSIProc; EXTERNAL;
  4. {$L N:\ASM\ANSI.OBJ }
  5.  
  6. BEGIN
  7.      ANSIProc;
  8. {
  9.      ASM
  10. @count:  dw 487
  11. @startadr: dw 0
  12. @ansi:   db 16,25,34,7,220,220,25,3,220,220,15,25,36,24,25,32
  13.          db 7,220,219,23,32,32,15,16,25,3,7,23,32,32,16,219
  14.          db 220,15,25,34,24,25,30,7,220,219,223,32,23,32,15,176
  15.          db 12,16,26,3,177,15,23,176,32,16,32,7,223,219,220,15
  16.          db 25,32,24,25,28,7,220,219,223,32,12,176,176,15,23,176
  17.          db 177,12,16,177,178,178,177,15,23,177,176,12,16,176,176,32
  18.          db 7,223,219,220,15,25,30,24,25,26,7,220,219,223,32,12
  19.          db 176,176,177,177,15,23,177,178,12,16,26,3,178,15,23,178
  20.          db 177,12,16,177,177,176,176,32,7,223,219,220,15,25,28,24
  21.          db 25,24,7,220,219,223,32,223,220,12,176,177,177,178,15,23
  22.          db 178,16,219,12,26,3,219,15,219,23,178,12,16,178,177,177
  23.          db 176,7,220,223,32,223,219,220,15,25,26,24,25,22,8,220
  24.          db 15,176,7,223,25,3,12,176,7,223,220,12,177,178,15,23
  25.          db 178,16,219,12,26,3,219,15,219,23,178,12,16,178,177,7
  26.          db 220,223,12,176,25,3,7,223,15,176,8,220,15,25,24,24
  27.          db 25,21,8,177,223,15,25,5,12,176,176,177,7,223,220,15
  28.          db 23,177,178,12,16,26,3,219,15,23,178,177,7,16,220,223
  29.          db 12,177,176,176,15,25,5,8,223,177,15,25,23,24,25,30
  30.          db 12,176,176,177,177,15,23,176,177,12,16,26,3,178,15,23
  31.          db 177,176,12,16,177,177,176,176,15,25,32,24,25,32,12,176
  32.          db 176,23,32,15,176,12,16,177,178,178,177,15,23,176,32,12
  33.          db 16,176,176,15,25,34,24,25,34,12,23,32,32,16,26,3
  34.          db 177,23,32,32,15,16,25,36,24,25,34,12,23,32,32,15
  35.          db 16,25,3,12,23,32,32,15,16,25,36,24,25,11,8,119
  36.          db 97,114,101,122,32,7,102,111,114,32,116,104,101,32,15,109
  37.          db 97,115,115,101,115,32,45,32,27,65,65,82,68,86,65,82
  38.          db 75,32,27,45,32,116,101,99,104,110,111,108,111,103,121,32
  39.          db 7,102,111,114,32,116,104,101,32,8,112,101,111,112,108,101
  40.          db 15,25,8,24,25,37,92,47,25,39,24,25,79,24,25,79
  41.          db 24,25,79,24,25,79,24,25,79,24,25,79,24,25,79,24
  42.          db 25,79,24,25,79,24,0
  43.  
  44.         MOV     BX,0B800h
  45. @1:     MOV     ES,BX
  46.         xor di,di
  47.         MOV     SI,offset @ansi
  48.         MOV     DX,3DAh
  49.         MOV     BL,09
  50.         MOV     CX,cs:[offset @count]
  51.         CLD
  52.         XOR     AX,AX
  53. @2:     LODSB
  54.         CMP     AL,1Bh
  55.         JNZ     @3
  56.         XOR     AH,80h
  57.         JMP     @10
  58. @3:     CMP     AL,10h
  59.         JNB     @4
  60.         AND     AH,0F0h
  61.         OR      AH,AL
  62.         JMP     @10
  63. @4:     CMP     AL,18h
  64.         JZ      @5
  65.         JNB     @6
  66.         SUB     AL,10h
  67.         SHL     AL,4
  68.         AND     AH,8Fh
  69.         OR      AH,AL
  70.         JMP     @10
  71. @5:     MOV     DI,startadr
  72.         ADD     DI,00A0h
  73.         MOV     startadr,DI
  74.         JMP     @10
  75. @6:     MOV     BP,CX
  76.         MOV     CX,0001
  77.         CMP     AL,19h
  78.         JNZ     @7
  79.         LODSB
  80.         MOV     CL,AL
  81.         MOV     AL,20h
  82.         DEC     BP
  83.         JMP     @8
  84. @7:     CMP     AL,1Ah
  85.         JNZ     @9
  86.         LODSB
  87.         DEC     BP
  88.         MOV     CL,AL
  89.         LODSB
  90.         DEC     BP
  91. @8:     INC     CX
  92. @9:     REPZ
  93.         STOSW
  94.         MOV     CX,BP
  95. @10:    JCXZ    @11
  96.         LOOP    @2
  97. @11:    MOV     AH,02
  98.         MOV     BH,00
  99.         MOV     DX,1700h
  100.         INT     10h
  101.         RET
  102.  
  103.      END;
  104. }
  105. END.